/*
 * Copyright (c) 2013 Cosmin Stejerean, Karl Heinz Marbaise, and contributors.
 *
 * Distributed under the MIT license: http://opensource.org/licenses/MIT
 */

package com.wondream.jenkins.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.wondream.jenkins.client.JenkinsHttpConnection;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;

/**
 * This class represents build information with details about what has been done
 * like duration start and of course the build result.
 *
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BuildOnlyDetails extends BaseModel implements Serializable {


    private int number;
    private int queueId;
    private String url;
//    private List<LinkedHashMap<String, List<LinkedHashMap<String, Object>>>> actions; // TODO: Should be improved.
    private boolean building;
//    private String description;
//    private String displayName;
//    private long duration;
//    private long estimatedDuration;
//    private String fullDisplayName;
//    private String id;
//    private long timestamp;
    private BuildResult result;
//    private List<Artifact> artifacts;
//    private String consoleOutputText;
//    private String consoleOutputHtml;
//    private BuildChangeSet changeSet;
//    @JsonProperty("changeSets")
//    private List<BuildChangeSet> changeSets;
//    private String builtOn;
//    private List<BuildChangeSetAuthor> culprits;

//    public BuildOnlyDetails(BuildOnlyDetails details) {
//        this.actions = details.actions;
//        this.description = details.description;
//        this.displayName = details.displayName;
//        this.building = details.building;
//        this.duration = details.duration;
//        this.estimatedDuration = details.estimatedDuration;
//        this.fullDisplayName = details.fullDisplayName;
//        this.id = details.id;
//        this.timestamp = details.timestamp;
//        this.result = details.result;
//        this.artifacts = details.artifacts;
//        this.consoleOutputHtml = details.consoleOutputHtml;
//        this.consoleOutputText = details.consoleOutputText;
//        this.changeSet = details.changeSet;
//        this.builtOn = details.builtOn;
//        this.culprits = details.culprits;
//    }
}
